Simple Mail Transfer Protocol (SMTP) is an Internet standard for electronic mail (hereinafter referred to as e-mail) transmission across Internet Protocol (IP) networks. While electronic mail servers and other mail transfer agents use SMTP to send and receive mail messages, user-level client mail applications typically use SMTP for sending messages to a mail server. Client applications may use the Post Office Protocol (POP) or the Internet Message Access Protocol (IMAP) to access their mail box accounts on a mail server.
SMTP is a relatively simple, text-based protocol, in which a mail sender communicates with a mail receiver by issuing simple command strings and supplying necessary data over a reliable ordered data stream channel, typically a Transmission Control Protocol (TCP) connection. An SMTP session includes a series of commands or a list of commands initiated by the SMTP client and responses from an SMTP server through which the SMTP session is opened. In the SMTP session, operating parameters are also exchanged, recipients are specified, and possibly verified, and a message is transmitted before the session is closed. The originating host of a message is either an end-user's e-mail client also known as mail user agent (MUA), or a relay server's mail transfer agent (MTA).
SMTP was designed as an electronic mail transport and delivery protocol, and as such it is used between SMTP systems that are operational on a continuous basis. POP and IMAP are preferred protocols when a user's personal computer is only intermittently powered up, or Internet connectivity is only transient and hosts cannot receive messages during off-line periods.
Current SMTP protocol allows for one parameter “DATA” used in a command list irrespective of whether it is an initial e-mail or a forwarded/reply-with-history e-mail. So, when a user sends a forwarded e-mail along with the user's own e-mail and/or does a reply-with-history, the entire content including the user's own text is sent as a single message.